package exo1_2;
import java.text.DecimalFormat;


public class SalleCinema {
	
	private String film;
	public int nbPlace;
	private float tarif;
	private int nbPlacesVendues;
	
	/**
	 * @param film
	 * @param nbPlace
	 * @param tarif
	 * @param nbPlacesVendues
	 */
	public SalleCinema(String film, int nbPlace, float tarif, int nbPlacesVendues) {
		this.film = film;
		this.nbPlace = nbPlace;
		this.tarif = tarif;
		this.nbPlacesVendues = nbPlacesVendues;
	}

	public String getFilm(){
		return this.film;
	}
	
	public float getTarif(){
		return this.tarif;
	}
	
	public int getNbPlacesVendues(){
		return this.nbPlacesVendues;
	}
	
	public void setFilm(String pFilm){
		this.film=pFilm;
	}
	
	public void setTarif (float pTarif){
		this.tarif=pTarif;
	}
	
	public void setNbPlacesVendues (int pNbPlacesVendues){
		this.nbPlacesVendues=pNbPlacesVendues;
	}
	
	public void vendrePlace(){
		setNbPlacesVendues(this.getNbPlacesVendues()+1);
	}
	
	public float tauxRemplissage(){
		float taux = (float)this.getNbPlacesVendues()/this.nbPlace;
		//System.out.println("Le taux de remplissage de la salle est: "+taux);
		return taux;
	}
	
	public float chiffreAffaire(){
		float chiffreA = this.getNbPlacesVendues()*this.getTarif();
		//System.out.println("Le chiffre d'affaire de cette salle est de "+chiffreA);
		return chiffreA;
	}
	
	public void estPleine(){
		if(this.nbPlace>this.getNbPlacesVendues())
			System.out.println("La salle n'est pas encore pleine");
		else
			System.out.println("La salle est pleine");
	}
	
	public void nbPlacesDisponibles(){
		int nbDispo = this.nbPlace-this.getNbPlacesVendues();
		System.out.println("Il reste "+nbDispo+" places disponibles.");
	}
	
	public String toString(){
		DecimalFormat df = new DecimalFormat("0.00");
		return ("Film projete\t   : "+this.getFilm()+"\nTarif\t\t   : "+df.format(this.getTarif())+"\nNombre de places   : "+
				this.nbPlace+"\nTaux remplissage   : "+df.format(this.tauxRemplissage())+"\nChiffre d'affaires : "+
				df.format(this.chiffreAffaire()));
	}
}
